package trabajo.sw;

import clases.domain.Bodega;
import clases.domain.Fabrica;
import clases.domain.Modelo;
import clases.domain.Pieza;
import clases.domain.Unidad;
import clases.domain.Version;
import ejb.session.MantenedoresBean;
import ejb.session.MantenedoresLocal;
import java.util.ArrayList;
import java.util.List;
import javax.ejb.EJB;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;
import javax.faces.model.SelectItem;
import org.primefaces.event.RowEditEvent;

@ManagedBean
@RequestScoped
public class GestionadorUnidadMB {

    private int numUnidad;
    private String nomUnidad;
    private String ubicacion;
    private int numFabrica;
    private List<Unidad> unidades;
    private List<Fabrica> fabricas;
    
    @EJB private MantenedoresLocal mantenedorEjb;
    
    public void agregarUnidad(){
        Unidad unidad = new Unidad();
        unidad.setNomUnidad(nomUnidad);
        unidad.setUbicacion(ubicacion);
        Fabrica fabrica = new Fabrica();
        fabrica.setNumFabrica(numFabrica);
        unidad.setFabrica(fabrica);
        try {
            mantenedorEjb.insertUnidad(unidad);
        } catch (Exception e) {
            System.out.println("Error");
        }
    }
    
   
    
     public void onEdit(RowEditEvent event) {  
        Unidad unidadEdit = (Unidad) event.getObject();  
        mantenedorEjb.updateUnidad(unidadEdit);
        System.out.println("Edicion "+unidadEdit.getNomUnidad());
    }  
      
    public void onCancel(RowEditEvent event) {  
        
        boolean estado = false;
        Unidad unidadEdit = (Unidad) event.getObject();  
  
        System.out.println("Eliminar "+unidadEdit.getNomUnidad());
        estado = mantenedorEjb.deleteUnidad(unidadEdit);
        if(estado){
            getUnidades().clear();
        }
    }  

    public int getNumUnidad() {
        return numUnidad;
    }

    public void setNumUnidad(int numUnidad) {
        this.numUnidad = numUnidad;
    }

    public String getNomUnidad() {
        return nomUnidad;
    }

    public void setNomUnidad(String nomUnidad) {
        this.nomUnidad = nomUnidad;
    }

    public String getUbicacion() {
        return ubicacion;
    }

    public void setUbicacion(String ubicacion) {
        this.ubicacion = ubicacion;
    }


    public List<Unidad> getUnidades() {
        if(unidades==null){
           unidades = mantenedorEjb.getListUnidad();
        }
        return unidades;
    }

    public void setUnidades(List<Unidad> unidades) {
        this.unidades = unidades;
    }

    public int getNumFabrica() {
        return numFabrica;
    }

    public void setNumFabrica(int numFabrica) {
        this.numFabrica = numFabrica;
    }

    public List<Fabrica> getFabricas() {
        if(fabricas==null){
            fabricas = mantenedorEjb.getListFabricas();
        }
        return fabricas;
    }

    public void setFabricas(List<Fabrica> fabricas) {
        this.fabricas = fabricas;
    }
   

}
